#include <iostream>
#include <cstring>
#include <unordered_set>
using namespace std;
using ull=unsigned long long;
const int N=1e6+10;
const ull base=51;
ull h1[N],h2[N],b[N];
ull sum[N];
void init(string s)
{
	b[0]=1;
	s=' '+s;
	unordered_set<char> has({'l','q','b'});
	for(int i=1;i<s.size();i++)
	{
		h1[i]=h1[i-1]*base+s[i];
		b[i]=b[i-1]*base;
	}
	for(int i=s.size()-1;i>=1;i--)
	{
		h2[i]=h2[i+1]*base+s[i];
	}
	for(int i=1;i<s.size();i++)
	{
		sum[i]=sum[i-1]+has.count(s[i]);
	}
}
ull getSum(int l,int r)
{
	return sum[r]-sum[l-1];
}
ull getPre(int l,int r)
{
	return h1[r]-h1[l-1]*b[r-l+1];
}
ull getSuf(int l,int r)
{
	return h2[l]-h2[r+1]*b[r-l+1];
}

int main()
{
	int t;
	cin>>t;
	while(t--)
	{
		string s;
		cin>>s;
		init(s);
		bool flg=false;
		s=' '+s;
		for(int i=1;i*2<s.size();i++)
		{
			if(getPre(1,i)==getSuf(i,2*i-1) && getSum(2*i,s.size()-1)==s.size()-2*i)
			{
				flg=true;
				break;
			}
			if(getPre(1,i)==getSuf(i+1,2*i) && getSum(2*i+1,s.size()-1)==s.size()-2*i-1)
			{
				flg=true;
				break;
			}
		}
		if(flg)
			cout<<"Yes"<<endl;
		else
			cout<<"No"<<endl;
	}
	
	return 0;
}
